<?php
include("config.php");
//回执信息类
class ReqDataType{
	public $status='error';
	public $type='SetTable';
	public $tableType='NOT';
	public $msg;
}
//数据列表类 及其 控制方法
class ListType{
	public $listRow=[];
	public $listData=[];
	function getRow($i){
		return $this->listRow['rowlist'][$i];
	}
	
	function getRowData($i){
//		$key = $this->getRow($i);
////		$data=$this->listData['$key'];
//		$data=$this->listData[$this->getRow($i)];
//		echo $key."--".$data;
 		return $this->listData[$this->getRow($i)];
	}
	
	function getSqlInsert($tablename){

//		$sqldemo="INSERT INTO `user_1_table_2` (`学号`, `姓名`, `形势与政策 [1]`, `RFID应用系统 [4]`, `智能设备应用开发 [4]`, `传感器与数据采集 [2]`, `传感网技术与应用 [4]`, `物联网应用系统开发 [4]`, `物联网营销训练 [1]`, `Null10`, `Null11`, `Null12`, `智慧社区建设与管理 [2]`, `物联网工程设计与实施 [2]`, `物联网应用技术职业资格认证课程 [2]`, `嵌入式系统开发 [3]`, `物联网系统集成 [3]`, `物联网项目综合实训 [2]`, `物联网系统集成综合实训 [2]`, `大学生职业生涯与创新创业指导II [.5]`, `平均分`, `名次`, `真实分数`) VALUES ('a', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)";
		$sqlhead="INSERT INTO `I_tebles`.`$tablename` ";
		$sql_table=" ( ";
		$sql_value=" VALUES( ";
		for($i=0;$i<$this->listRow['rowlen'];$i++){
			$sql_table=$sql_table." `".$this->getRow($i)."` ";
			$sql_value=$sql_value." '".$this->getRowData($i)."' ";
			if($i<$this->listRow['rowlen']-1){
				$sql_table.=",";
				$sql_value.=",";
			}
		}
		$sql_table.=" )";
		$sql_value.=" )";
		$sql=$sqlhead.$sql_table.$sql_value.";";
		
		return $sql;
	}
	
	function getSqlUpdata($tablename){
//		print_r($this->listData);
//		print_r($this->listRow);
//		
//		echo ($this->listData[$key]);
		$sql_head="UPDATE `I_tebles`.`$tablename` SET ";
		$sql_value="";
		for($i=0;$i<$this->listRow['rowlen'];$i++){
			if($i==0)continue;
			$sql_value.=" `".$this->getRow($i)."` = '".$this->getRowData($i)."' ";
			if($i<$this->listRow['rowlen']-1){
				$sql_value.=",";
			}
		}
		
		$sql=$sql_head.$sql_value." where `".$this->getRow(0)."` = '".$this->getRowData(0)."' ;";
//		echo $sql;
		return $sql;
	}
}

//表格处理类
class ProcTable{
	public $listType;
	public $conn;
	public $tableID="";
	public $reqDataType;
	//初始化
	function Init($conn,$listUrl,$code){
		$this->conn=$conn;
		$this->procUrlList($listUrl);
		$this->reqDataType=new ReqDataType();
		$this->getTitleId($code);
	}
	//处理 url 参数列表
	function procUrlList($listUrl){
		$this->listType=new ListType();
		$urlTemp=json_decode($listUrl,true);
//		print_r($urlTemp);
		$this->listType->listRow=$urlTemp['listRow'];
		$this->listType->listData=$urlTemp['listData'];
//		print_r($this->listType->listData);
//		 echo $listUrl;
//		$this->listType;
		return( $this->listType);
	}
	//通过  code  获取 表格 id
	function getTitleId($code){
		$sql="SELECT * FROM `tablelist` WHERE mask ='$code'";
		$conn=$this->conn;
		$result = $conn->query($sql);
		if($result->num_rows>0){
			$row =$result->fetch_assoc();
			$this->tableID=$row['tableid'];
			$this->reqDataType->msg='get tableMsg success';
			$this->reqDataType->status='success';
		}else{
			$this->reqDataType->msg='code error';
			$this->reqDataType->status='error';
		}
//		echo $this->tableid;
		return $this->tableID;
	}
	//获取 插入sql
	function getSqlInsert(){
		return $this->listType->getSqlInsert($this->tableID);
	}
	//获取更新sql
	function getSqlUpdata(){
		return $this->listType->getSqlUpdata($this->tableID);
	}
	
	function doUpdata(){
		 
		$sql=$this->getSqlUpdata();
		$conn=$this->conn;
//		echo $sql;
		$reqData=$this->reqDataType;
		$reqData->tableType='add';
		if ($conn->query($sql) === TRUE) {
		    $reqData->status='success';
		    
		    $reqData->msg='updata success';
		} else {
		    $reqData->status='error';
		    $reqData->msg='updata error';
		}
	}
	
	function doInsert(){
		$sql=$this->getSqlInsert();
		$conn=$this->conn;
		$reqData=$this->reqDataType;
		if ($conn->query($sql) === TRUE) {
		    $reqData->status='success';
		    $reqData->msg='insert success';
		} else {
		    $reqData->status='error';
		    $reqData->msg='insert error';
		}
	}
}

////测试
//$listurl='{
//"listRow": {
//  "title": null,
//  "rowlist": [
//    "学号",
//    "姓名",
//    "形势与政策 [1]",
//    "RFID应用系统 [4]",
//    "智能设备应用开发 [4]",
//    "传感器与数据采集 [2]"
//  ],
//  "rowlen": 5,
//  "code": "4ba6d674d604481dfecd7c217c436ef6"
//},
//"listData": {
//  "学号": "0604160201",
//  "姓名": "aada",
//  "形势与政策 [1]": "dada",
//  "RFID应用系统 [4]": "ad",
//  "智能设备应用开发 [4]": "dd",
//  "传感器与数据采集 [2]": ""
//}}';

//echo $arr[$listRowArr['rowlist'][0]];
//print_r();
//$a=$listRowArr->rowlist[0];
//print_r($arr[$listRowArr->rowlist[0]]);
//print_r($arr);
//echo json_encode($listType);
//echo $listurl;

?>